---
title: "Local Development"
"og:title": "How to setup Midday for Local Development"
description: "A guide on how to run Midday's codebase locally."
icon: code
---

###

## Introduction

Midday's codebase is set up in a monorepo via [Turborepo](https://turbo.build/repo) and is fully [open-source on GitHub](https://git.new/midday).

Here's the monorepo structure:

```
apps
├── api
├── dashboard
├── docs
├── engine
├── mobile
├── website
packages
├── documents
├── email
├── events
├── import
├── inbox
├── jobs
├── kv
├── location
├── notification
├── supabase
├── tsconfig
├── ui
├── utils
```

The `apps` directory contains the code for:

- `api`: The backend for Midday (supabase).
- `dashboard`: Midday's application ([app.midday.ai](https://app.midday.ai)).
- `docs`: Midday's documentation site ([midday.ai/docs](https://midday.ai/docs)).
- `engine`: Midday's bank engine ([midday.ai/engine](https://midday.ai/engine)).
- `mobile`: Midday's mobile app.
- `website`: Midday's website app ([midday.ai](https://midday.ai)).

The `packages` directory contains the code for:

- `documents`: OCR for receipts.
- `events`: Analytics library.
- `import`: CSV-importer.
- `inbox`: Inbox utils.
- `jobs`: Background jobs.
- `kv`: Key value storage client.
- `location`: Location related utils.
- `notification`: Notifications client.
- `supabase`: Queries and client.
- `tsconfig`: The TypeScript configuration for Midday's web app.
- `ui`: UI component library.
- `utils`: A collection of utility functions and constants used across Midday's codebase.

## Running Midday locally

To run Midday locally, you'll need to set up the following:

- A [Supabase](https://supabase.com/) account
- An [Upstash](https://upstash.com/) account

## Step 1: Local setup

First, you'll need to clone the Midday repo and install the dependencies.

<Steps>

  <Step title="Clone the repo">

First, clone the [midday.ai repo](https://d.to/github) into a public GitHub repository.

    ```bash Terminal
    git clone https://github.com/midday-ai/midday.git
    ```

  </Step>

  <Step title="Install dependencies">

    Run the following command to install the dependencies:

    ```bash Terminal
    bun i
    ```

  </Step>

</Steps>
